#ifndef VECTOR_HPP
#define VECTOR_HPP
#include <iostream>
#include <cmath>

using namespace std;

struct Vector {
	Vector(void);
	Vector(const double,const double,const double);
	~Vector(void);

	const double dot_product(const Vector&) const;
	Vector scalar_product(double) const;
	Vector cross_product(const Vector&) const;
	Vector sub_vect(const Vector&) const;
	Vector normalize(void) const;
	const double lenght(void) const;
	
        
	void set(const double,const double,const double);
	/*Debugging purpose*/
	void mostrar(void) const { cout << "\nX: " << x << "\nY: " << y << endl << "Z: " << z << endl; } 

	const double operator*(const Vector&) const;
	const Vector operator*(const double) const;
	const Vector operator+(const Vector&) const;

	double x,y,z;

};

#endif
